BACnet/IP Network Overview
BACnet/IP networks consist of devices that use the BACnet/IP communication protocol.
BACnet devices with a known location can communicate directly (BACnet/IP to BACnet/IP) using a local switch if they are in the same IP network segment, or using switches and routers if they are in different segments. However, the devices frequently communicate through broadcast messages. These are sent to all devices at once, and every device can send a response. A typical example is a Who-Is request that is used for discovering new devices. Learn more
BACnet Broadcast Management Devices
In large and complex networks, broadcast communication produces a lot of traffic that might cause speed issues or even overload the network. To prevent this, broadcast messages are often blocked by IP routers which means that the broadcast is not able to span multiple network segments.
To enable communication between BACnet devices without allowing broadcasts on routers, BACnet/IP networks use BACnet Broadcast Management Devices (BBMDs). A BBMD receives a broadcast request from a device located in the same IP network segment and distributes it locally. Then it forwards the request to other IP network segments as a directed (unicast) message to each individual BBMD in other network segments, so it can pass through the IP routers. The other BBMDs distribute the broadcast in their network segments. Each individual device that supports unicast messages then sends the response (for example an I-Am message in response to the Who-Is) directly to the device that initiated the request. The BBMDs transfer the remaining (broadcast) responses of the local devices back to the original BBMD which in turn provides the data to the initiating device.
To distribute broadcasts to the entire network, you need to set up a BBMD in every network segment (behind every IP router). Do not set up more than one BBMD per network segment to avoid duplicate communication. You can also configure the channel to act as a BBMD. Each BBMD maintains a Broadcast Distribution Table (BDT) that lists the IP addresses of all other BBMDs in the network.
In some network segments, it is not cost-effective to maintain a BBMD but they may still contain BACnet devices that need to connect to a different IP network segment. Such a device can register to the BBMD of the desired network segment as a foreign device by sending the Register-Foreign-Device request. Once the device is registered, it can receive broadcasts and communicate with all other devices on the network.
Each BBMD keeps a list of the registered devices in the Foreign Device Table (FDT). Every foreign device needs to periodically re-register with the BBMD in a time interval that is defined in the registration request as the Time-to-Live parameter. It happens automatically but if the device fails to re-register within the Time-to-Live period (for example because it has disconnected from the network), the BBMD may delete it from the table to save the space.
What's Next?